Skip to content

feat: v1.0.0 release - Multi-source discovery, Zotero export, telemetry#10

Merged
spignotti merged 1 commit intomainfrom
feat/v100-release
Apr 10, 2026
Merged

feat: v1.0.0 release - Multi-source discovery, Zotero export, telemetry#10
spignotti merged 1 commit intomainfrom
feat/v100-release

Conversation

@spignotti
Copy link
Copy Markdown
Owner

Summary

This PR brings litresearch from MVP to a production-ready v1.0.0 with comprehensive improvements across resilience, graceful degradation, multi-source discovery, integrations, and telemetry.

Major Features Added

  • Multi-source discovery: Semantic Scholar + OpenAlex with global deduplication
  • Citation graph expansion: Discover frequently referenced works across top papers
  • Zotero export: Push top papers directly to Zotero libraries with PDF attachment
  • Run-quality telemetry: Comprehensive metrics collection and metrics.json output
  • Token-budgeted PDF extraction: Intelligent keyword-scored text extraction
  • Abstract-fallback screening: Multi-signal screening for papers without abstracts
  • Manual PDF injection: --inject-pdfs flag + --stop-after-screening checkpoint workflow

Resilience & Reliability

  • Robust LLM JSON parsing with comprehensive error handling
  • Retry/backoff for all external API calls (S2, OpenAlex, LLM)
  • Atomic state persistence to prevent corruption
  • Path sanitization for safe filenames
  • Resume bug fix for current_stage="start"

Validation

  • uv run nox passes (lint, typecheck, 26 tests)
  • Version bumped to 1.0.0
  • README updated with new features
  • CHANGELOG.md created
  • litresearch.toml.example created

Changes

See detailed CHANGELOG.md in repo for complete list of additions, changes, and fixes.

Phase 1-6 implementation complete:
- Phase 1: Foundation (version unification, resume bug, path sanitization, atomic state)
- Phase 2: Resilience (robust LLM JSON parsing, retry/backoff)
- Phase 3: Graceful Degradation (abstract-fallback, token-budgeted PDF, PDF injection)
- Phase 4: Multi-Source Discovery (OpenAlex, dedup, citation expansion)
- Phase 5: Integration & Telemetry (Zotero export, RunMetrics)
- Phase 6: Documentation (README, CHANGELOG, litresearch.toml.example)

All 26 tests passing.
@spignotti spignotti marked this pull request as ready for review April 10, 2026 09:28
@spignotti spignotti merged commit 6953d1c into main Apr 10, 2026
2 checks passed
@spignotti spignotti deleted the feat/v100-release branch April 10, 2026 09:29
@spignotti spignotti restored the feat/v100-release branch April 10, 2026 09:30
@spignotti spignotti deleted the feat/v100-release branch April 10, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant